package com.xxjh.brs.sftp.common.predicate;

import com.jcraft.jsch.ChannelSftp;

import java.util.List;
import java.util.Map;

/**
 * @author CHENCHEN
 * @title a
 * @company 新兴际华科技（天津）有限公司
 * @create 2024-07-04 12:15
 */
public interface SftpPredicate {

    /**
     * 在给定的FTP目录中查找是否存在 xxxx 文件。
     *
     * @param entry  获取到的FTP下文件。
     * @param directory  要检查的FTP目录路径。
     * @return 如果找到 xxxx 文件，则返回其完整路径；否则返回null。
     */
    boolean directorySearch(ChannelSftp.LsEntry entry, String directory);

    /**
     * 筛选并排序路径列表，确保具有最高优先级的文件路径排在前面。
     *
     * @param path 待筛选和排序的原始文件路径。
     * @param prefixToPath 返回筛选出内容。
     */
    void searchByRule(String path, Map<String, String> prefixToPath);
}
